package com.javaweb.servlet.config;
import jakarta.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;

/*
ServletConfig
    1.ServletConfig是什么？
    jakarta.servlet.ServletConfig
    显然ServletConfig是Servlet规范中的一员
    ServletConfig是一个接口。（Jakarta.servlet.Servlet也是一个接口）
   2.谁去实现了这个接口呢？
    public class org.apache.catalina.core.StandardWrapperFacade implements ServleConfig{}
    结论：Tomcat服务器实现了ServletConfig接口
    思考：如果换成jetty服务器，输出ServletConfig对象的时候，还会是这个结果吗？
    不一定一样，包名类名可能和tomcat不一样。但是他们都实现了ServletConfig这个规范。
    3.一个Servlet对象中有一个ServletConfig对象（servlet和ServletConfig对象是一一对应的
    4.ServletConfig对象是谁创建的？在什么时候创建的？
    Tomcat服务器（web服务器）创建了ServletConfig对象。
    在创建Servlet对象的时候，同时也创建了ServletConfig对象
    5.ServletConfig接口到底是干什么用的？有什么用呢？
    Config是Configuration的缩写
    ServletConfig对象被翻译为：Servlet对象的配置信息对象。
    一个Servlet对象就有一个配置信息对象
    两个Servlet对象就有两个配置信息对象
    6.ServletConfig对象中到底包括了哪些信息
     <servlet>
        <servlet-name>configTest</servlet-name>
        <servlet-class>com.javaweb.servlet.config.ConfigTest</servlet-class>
     <servlet>
    ServletConfig对象中包装的信息是：
    web.xml文件中 <servlet><servlet>标签中的配置信息自动包装到ServletConfig对象中。



 */
public class ConfigTest extends GenericServlet {


    @Override
    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        //获取servletconfig对象
        ServletConfig config= this.getServletConfig();
        //输出对象
        out.print("servletconfig对象是" +config.toString());
        out.print("<br>");
        //获取ServletName
        String servletName = config.getServletName();
        out.print(servletName);


    }
}
